package com.noble.library.permission.andPermission.overlay;

import com.noble.library.permission.andPermission.Action;
import com.noble.library.permission.andPermission.Rationale;

/**
 * Created by YanZhenjie on 2018/5/29.
 */
public interface OverlayRequest {
    /**
     * Set request rationale.
     */
    OverlayRequest rationale(Rationale<Void> rationale);

    /**
     * Action to be taken when all permissions are granted.
     */
    OverlayRequest onGranted(Action<Void> granted);

    /**
     * Action to be taken when all permissions are denied.
     */
    OverlayRequest onDenied(Action<Void> denied);

    /**
     * Start request.
     */
    void start();
}